Background
Terminals
The Terminal (or Terminal Emulator) is an application that the user interacts with in order to interact with the shell.
Some terminal applications that exist that you may have used in the past or will use in the near future include the following:
- Terminal application on macOS
- Terminal application on Ubuntu
- Terminal application on Windows, which allows for different shells in different tabs.
- If you’ve downloaded gitbash, it comes with its own terminal application
- Some IDEs such as VS code have built in terminals that allow you to select different shells.
Shells
The shell is an interpreter that takes the commands you type and passes them to the operating system for execution.
Some shells you may use as you continue your career in computer science include the following:
- bash - bash stands for Bourn Again SHell. Most unix-like systems use the bash shell.
- zsh - Read allowed as zsh or as Z shell. A bash-like shell.
- powershell - PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework [source]
- the interactive Python shell
- gitbash - bash emulation for windows [source]
- fish - friendly interactive shell [source]
Note: We frequently use the terms Terminal and Shell interchangably when we speak, although they are different things.
Absolute vs Relative Filepaths
Absolute filepaths describe the filepath from the root of the filesystem.
# An absolute filepath to a folder called csc222 on the desktop
/home/josh/Desktop/csc222Relative filepaths describe the filepath from where you currently are.
# A relative filepath from the user's home folder to csc222
Desktop/csc222If it starts with a /, or the ~, then it is an absolute filepath. If not, it is relative.